/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.gob.pnp.model;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import pe.gob.pnp.beans.BeneficiosSolicitanteBean;
import pe.gob.pnp.beans.TipoBeneficioBean;
import pe.gob.pnp.factories.ConnectionPool;

/**
 *
 * @author gcarlos
 */
public class GestionTipoBeneficio {

    public List<TipoBeneficioBean> obtenerTipoBeneficio() throws SQLException {
        List<TipoBeneficioBean> lstDependencia = new ArrayList<TipoBeneficioBean>();
        Connection conn = null;
        try {
            conn = ConnectionPool.obtenerConexion();
            String sql = "SELECT NTIBE_IDENTIFICADOR,CTIBE_DESCRIPCION";
            sql += " FROM DIRPEN.PERMA_TIPOBENEFICIO";
            sql += " WHERE BTIBE_ELIMINADO=0";
            sql += " ORDER BY NTIBE_ORDEN";
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                TipoBeneficioBean obj = new TipoBeneficioBean();
                obj.setNtibeIdentificador(rs.getInt("NTIBE_IDENTIFICADOR"));
                obj.setCtibeDescripcion(rs.getString("CTIBE_DESCRIPCION"));
                lstDependencia.add(obj);
            }
            rs.close();
            ps.close();
        } catch (Exception err) {
            err.printStackTrace();
        } finally {
            ConnectionPool.liberarConexion(conn);
        }
        return lstDependencia;
    }
    
    public List<BeneficiosSolicitanteBean> obtenerBeneficiosTramite(int ingreso) throws SQLException{
        List<BeneficiosSolicitanteBean> lstBeneficios = new ArrayList<BeneficiosSolicitanteBean>();
        Connection conn = null;
        try{
            conn =  ConnectionPool.obtenerConexion();
            String sql = "SELECT B.NTIBE_IDENTIFICADOR,T.CTIBE_DESCRIPCION";
            sql += " FROM TRAMDOC.SISMA_BENEFICIOSOLICITA B";
            sql += " INNER JOIN DIRPEN.PERMA_TIPOBENEFICIO T";
            sql += " ON T.NTIBE_IDENTIFICADOR = B.NTIBE_IDENTIFICADOR";
            sql += " WHERE B.NINGR_IDENTIFICADOR = ?";
            sql += " ORDER BY B.NTIBE_IDENTIFICADOR";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setInt(1, ingreso);
            ResultSet rs = ps.executeQuery();
            while (rs.next()){
                BeneficiosSolicitanteBean obj = new BeneficiosSolicitanteBean();
                obj.setNtibeIdentificador(rs.getInt("NTIBE_IDENTIFICADOR"));
                obj.setCtibeDescripcion(rs.getString("CTIBE_DESCRIPCION"));
                lstBeneficios.add(obj);
            }
            rs.close();
            ps.close();
        }catch (Exception err){
            err.printStackTrace();
        }finally{
            ConnectionPool.liberarConexion(conn);
        }
        return lstBeneficios;
    }
}
